package com.bestcem.xm.member.constant;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

/**
 * @author ming.xue <ming.xue@idiaoyan.com>
 * @desc 列名常量
 * @date 2021-05-19
 */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ColumnConstant {
    private static class Base {
        public static final String ID = "_id";
        public static final String UPDATED_TIME = "update_time";
        public static final String CREATE_TIME = "create_time";
    }

    /**
     * 联系人
     */
    public static class Member extends Base {
        public static final String ORG_ID = "orgId";
        public static final String SYS_ID = "sysId";
        public static final String SOURCE = "source";
        public static final String AVATOR = "avator";
        public static final String NAME = "name";
        public static final String EMAIL = "email";
        public static final String MOBILE = "mobile";
        public static final String GENDER = "gender";
        public static final String NICKNAME = "nickname";
        public static final String REGION = "region";
        public static final String STORE = "store";
        public static final String STATUS = "status";
        public static final String CONTENT = "content";
        public static final String UNION_ID = "union_id";
        public static final String OPEN_ID = "openid";
        public static final String APP_ID = "appid";
        public static final String ALIPAY_USER_ID = "alipay_user_id";
        public static final String MEMBER_NO = "member_no";
        public static final String OUT_NO = "out_no";
        public static final String ADDRESS = "address";
        public static final String EMPLOYEE_ID = "employeeID";
        public static final String EMPLOYEE_STATUS = "employee_status";
        public static final String MEMBER_TYPE = "mtype";
        public static final String BIRTHDAY = "birthday";
        public static final String DEPARTMENT = "department";
        public static final String POSITION = "position";
        public static final String INSTITUTE_ID = "institutID";
        public static final String INSTITUTE_NAME = "institut_name";
        public static final String USER_ID = "userId";
        public static final String AGE = "age";
        public static final String FIELD_VAL_LIST = "field_val_list";
        public static final String LABELS_LABEL_ID = "labels";

    }

    /**
     * 联系人组织门店
     */
    public static class MemberUserGroup extends Base {
        public static final String ORG_ID = "org_id";
        public static final String GROUP_ID = "group_id";
        public static final String PARENT_IDS = "parent_ids";
        public static final String STATUS = "status";
    }

    public static class DisplayRange extends Base {
        public static final String ORG_ID = "orgId";
        public static final String MEMBER_TYPE = "mtype";
        public static final String TYPE = "ttype";
        public static final String ROLE_IDS = "role_id_list";
    }

    public static class Project extends Base {
        public static final String ORG_ID = "orgId";
        public static final String MEMBER_ID = "mid";
        public static final String CODE = "m_project_code";
        public static final String STATUS = "m_p_status";
        public static final String PROJECT_MANAGER_MOBILE = "project_manager_mobile";
        public static final String NAME = "m_project_name";
        public static final String TYPE = "m_p_type";
        public static final String CONTRACT_NO = "contractNo";
        public static final String CONTRACT_MONEY = "contract_money";
        public static final String CONTRACT_OBJ = "contract_obj";
        public static final String PROJECT_TIME = "project_time";
        public static final String ACCOUNT_MANAGER = "account_manager";
        public static final String PROJECT_MANAGER = "project_manager";
        public static final String PROGRAM_START_TIME = "program_start";
        public static final String ACTUAL_START_TIME = "actual_start";
        public static final String ACCEPTANCE_TIME = "acceptance_time";
        public static final String FINISH_TIME = "finish_time";
        public static final String EXTEND_FIELDS = "field_val_list";
    }

    public static class ExtendField extends Base {
        public static final String ORG_ID = "orgId";
        public static final String MEMBER_TYPE = "attribute";
        public static final String NAME = "name";
        public static final String TYPE = "f_type";
    }

    public static class ExtendFieldEnumItem extends Base {
        public static final String EXTEND_FIELD_ID = "field_id";
        public static final String NAME = "name";
        public static final String SERIAL = "serial";
        public static final String DISPLAY_STATUS = "display_status";
        public static final String DELETE_STATUS = "delete_status";
    }

    /**
     * 导出记录
     */
    public class ExportRecord extends Base {
        public static final String ORG_ID = "orgId";
        public static final String MEMBER_TYPE = "mtype";
        public static final String FILE_NAME = "file_name";
        public static final String FILE_TYPE = "file_type";
        public static final String FILE_SIZE = "file_size";
        public static final String FILE_URL = "file_path";
        public static final String FILE_DATA = "file_data";
        public static final String STATUS = "status";
        public static final String PARAMS = "params";
        public static final String ERROR_MSG = "msg";
        public static final String OP_USER_ID = "user";
    }

    public static class ImportRecord extends Base {
        public static final String ORG_ID = "orgId";
        public static final String M_TYPE = "mtype";
        public static final String STATUS = "status";
        public static final String FILE_NAME = "file_name";
        public static final String DATA = "data";
        public static final String USER = "user";
    }

    /**
     * 来源名片
     */
    public class SourceCard extends Base {
        public static final String ORG_ID = "orgId";
        public static final String MEMBER_ID = "mid";
        public static final String SOURCE = "source";
        public static final String SERIAL = "cardNo";
        public static final String DATA = "m_data";
    }

    /**
     * 同步规则
     */
    public class SyncRule extends Base {
        public static final String ORG_ID = "orgId";
        public static final String MEMBER_TYPE = "attribute";
        public static final String TYPE = "sync_type";
        public static final String QUERY_FIELDS = "q_field";
        public static final String UPDATE_FIELDS = "u_field";
    }

    /**
     * 同步规则
     */
    public class Sequence extends Base {
        public static final String CODE = "code";
        public static final String INCR_STEP = "incr_step";
        public static final String SEQ = "seq";
    }

    /**
     * 足迹点
     */
    public class Footprint extends Base {
        public static final String ORG_ID = "org_id";
        public static final String MEMBER_ID = "member_id";
        public static final String SOURCE_KEY = "source_key";
        public static final String FOOTPRINT_TIME = "footprint_time";
        public static final String TYPE = "type";
        public static final String CONTENT = "content";
    }

    /**
     * 查询字段
     */
    public class MemberQueryField extends Base {
        public static final String ORG_ID = "org_id";
        public static final String MEMBER_TYPE = "member_type";
        public static final String BASE_FIELDS = "base_fields";
        public static final String EXTEND_FIELDS = "extend_fields";
    }
}
